Cell relay and fast packet switching are both switching methods for integrated communication networks. Such networks can carry diverse traffic types such as data, voice, CBR (constant bit rate), image and video traffic. Using a fast packet or cell relay mechanism, such as ATM (Asynchronous Transfer Mode), to switch different traffic types in the network, achieves integration of both transmission and switching resources.
Fast packet (FP) and cell relay (CR) networking technologies are very similar in nature and solve many networking problems. Both allow the construction of efficient and cost effective networks that carry diverse traffic types such as voice, video, CBR, and bursty data traffic. Both FP and CR networks convert (adapt) various types of traffic to a common format before transporting the traffic across the network. In both cases, the common form is a "small packet", where small is typically 64 or less octets. Each packet contains a network header containing destination or logical address, congestion level information, priority information, etc., and a payload portion containing the user's data.
The efficiency and diversity of CR and FP networks is obtained by the adaption of the traffic source, at the edge of the network, to a common form or packet. This allows network switches to handle the traffic in a common way inside each type of network independent of the source type.
However, this requires, at the source edge of the network, the adaptation of diverse traffic types to the common form, or packets. At the destination edge of the network, the packets need to be adapted back to the diverse original forms. These edge adaption procedures are traffic source type dependent. For example, CCITT (International Telegraph and Telephone Consultative Committee) AAL1 (ATM adaption layer 1) protocol, specified in CCITT draft recommendation I.363, is used for adaption of CBR traffic to ATM cells (packets), and CCITT AAL5 (ATM adaption layer 5) protocol, also specified in CCITT draft recommendation I.363, is used for adaption of HDLC (high level data link control) framed traffic to ATM cells.
"Packet networks" refers to either fast packet switching systems, or cell relay switching systems. "Packet voice" refers to voice which has been adapted to a form appropriate for a packet system.
Voice may be transported through a packet network as follows. The analog voice is first digitized and converted to 64 Kb/sec (kilobits per second) PCM (pulse code modulation). The resulting bit stream is optionally compressed using a voice compression algorithm, such as a 32 Kb/sec ADPCM coder (Adaptive Differential Pulse Code Modulation), or a 16 or 8 Kb/sec CELP coder (Code Excited Linear Predictor). The resulting bit stream is segmented into packets at the edge of the network by collecting bits for a time duration (denoted generally by "del.sub.-- T"). A network packet header is attached to each voice packet. These packets are multiplexed with packets from other sources (both voice and non-voice) and are queued before transmission on internodal links in the network. At the destination edge, the voice is reconstructed by stripping the header and playing out the bits in the packet (may require optional decompression) at the nominal rate of the voice connection (typically 64 Kb/sec PCM).
Although the packets from a voice packet transmitter are generated at uniform intervals, spaced del.sub.-- T time units apart, they do not arrive at the destination uniformly spaced due to different queuing delays that each individual packet encounters as it traverses the packet network. Since packets at the voice destination must be played out at uniform intervals, also spaced del.sub.-- T time units apart, the variation in network queuing delay is compensated for by using a smoothing buffer at the voice packet receiver. When the initial (first) packet of a call arrives at the voice packet receiver, it is enqueued in the smoothing buffer and is not played out immediately. Instead, it is held in the smoothing buffer for a predetermined amount of time (referred to as the initial smoothing delay) before being dequeued and playout. After the first packet is played out, subsequent packets are played out at uniform time intervals (uniform spacing) of del.sub.-- T time units. If the smoothing delay is chosen large enough, then the probability of a smoothing buffer underflow (i.e., a subsequent packet arrives too late to be played out) for subsequent packets is negligible.
The smoothing delay should be kept at an absolute minimum for two reasons. First, the smoothing buffer at the destination receiver is finite. Therefore, buffer overflow should be avoided. Second, for voice applications, the total "end-to-end" delay is perceivable by network users If the total delay of the voice path exceeds 200 milliseconds, the telephone conversation may be perceived (by the two parties having a conversation) as being a "long distance connection". Thus, the total end-to-end delay should be less than 200 milliseconds.
Further, observed network delay and packet jitter characteristics may change rapidly over time (as other connections are set up and taken down in the network). Therefore, the mechanism must be robust and capable of adjusting the smoothing delay to minimize the total end-to-end delay while preventing smoothing buffer underflows, and also compensate for any other network delay irregularities.
Thus, a smoothing delay mechanism which provides a simple method to control smoothing buffer underflows at the destination edge of a voice connection in a fast packet network, provides a simple mechanism to minimize the smoothing delay value, adapts to changing network delay characteristics, adjusts for clock drift between sending and receiving nodes and is robust to other network impairments, such as dropped packets, bit errors, packets falsely inserted into the voice channel from other sources, is desirable.